1. The Field of the Invention
The present invention relates to configuring computer systems to appropriately communicate on a network, and more specifically, to automatically providing a computer system with appropriate information such that the computer system can be provisioned to communicate on a network.
2. Background and Relevant Art
Computer systems and related technology affect many aspects of society. Indeed, the computer system's ability to process information has transformed the way we live and work. Computer systems now commonly perform a host of tasks (e.g., word processing, scheduling, and database management) that prior to the advent of the computer system were performed manually. More recently, computer systems have been coupled to one another to form computer networks over which the computer systems can communicate electronically to share data. As a result, many of the tasks performed at a computer system (e.g., accessing electronic mail and web browsing) include electronic communication with one or more other computer systems via a computer network (e.g., the Internet).
In order to communicate electronically on a computer network a computer system may need to be authorized to access the computer network. For example, before a computer system can communicate electronically on the Internet, a user of the computer system is often required to register with an Internet Service Provider (hereinafter referred to as an “ISP”) that can authorize access to the Internet. Registering with an ISP typically includes some form of communication other than electronic communication on a network. For example, a user may be required to initiate telephonic communication with a representative of an ISP in order to establish an account with the ISP.
During this telephonic communication, a user can provide the ISP representative with general information (e.g., name, address, etc.) and a form of payment (e.g., a credit card number). In return, the ISP can provide the user with a username and password that can be used to authenticate the user and authorize access to the Internet. In many cases, the ISP also sends, via a postal or other delivery service, access software (e.g., a dialer, Web browser, etc.) and/or hardware (e.g., a DSL modem or cable modem) that must be installed at a computer system. For the user to connect the ISP and thereby access the Internet, any access software and hardware must be correctly installed at the computer system. As such, a user desiring to access the Internet is frequently required to wait until such software and hardware is received. Then, after access software and/or hardware is received, the user must correctly install the access software and/or hardware at the computer system to enable Internet access.
If correctly installed, a user may be able to connect to the ISP and enter the username and password provided by the ISP. The ISP can authenticate the user based on the username and password and if appropriate (e.g., when the user's payments are up to date) the ISP can authorize the user's computer system to access the Internet. Unfortunately, if a user is not currently registered with an ISP, there is in most cases no way to use electronic communication on the Internet to initiate a registration process. This is because most ISPs are accessed from the Internet and when a user has no way to access the Internet they in turn have no way to access an ISP for registration.
Thus in many cases, users wishing to access the Internet are subjected to contacting an ISP telephonically and waiting for appropriate access software and/or hardware to be delivered. Further, users who attempt to connect to an ISP without appropriate credentials (e.g., user name and password) or without authorization (e.g., payments are not up to date) are typically completely blocked from all network access to both the ISP and the Internet. Thus, even if a user knows an ISP access number to dial into (or an ISP network address to attempt to connect to), a user may still be required to contact the ISP using other communication methods in order to register (or correct account deficiencies) with the ISP.
In some cases, such as, for example, when connecting to an ISP from home, the delay in waiting for access software and hardware may be tolerable. However, in other cases such a delay may be unacceptable. For example, when traveling through an airport or staying at a hotel, a user with a mobile computer system, such as, for example, a laptop, may desire to access the Internet. Partially as a result of this demand for mobile access, many hotels and airports offer Internet access through both wired and wireless services. Gaining authorization to access the Internet through these services typically requires some form of electronic communication with the service to enter user information and payment information.
Typically, these services require that a user plug a cable into a network interface card in the mobile computer system (or use a wireless network interface card to initiate a connection) and then open a Web browser. However, a user must have knowledge that these actions are to be performed before they attempt to register with a service. For example, if a to user does not know that they must open the Web browser, there is essentially no way for the user to register with the service. When the Web browser is opened, the service then redirects any communications from the Web browser through a Web based registration process. A user may be presented with an interface to enter information for registration (e.g., name, room number, credit card number, etc.). If the registration information is appropriate, the user can be authorized to access the Internet using the service.
Unfortunately, many services are proprietary and each service may require different computer system configurations and/or registration information for authorizing access to the Internet. However, a user may have no way to know before attempting to register with a service what system configuration and/or registration information is needed. Thus, even if a user successfully registers with a service at one location (e.g., an airport), the user may be prevented from registering at another location (e.g., a hotel) due to an improperly configured computer system or lack of appropriate registration information.
Further, most hotel and airport services authorize Internet access for only a short period of time (e.g., 24 hours) before an account is expired. After the account expires, the user may need to once again open a Web browser (and perhaps also re-connect a cable) and re-enter all of the registration information that was previously entered. Thus, even if a user was initially aware that they must open a Web browser to register with a service, the user may not know that a Web browser must be opened every day in order to re-register with the service. Often, registration information entered in a prior registration (e.g., on a previous day) must be re-entered even if none of the registration information has changed. If the registration information is somewhat substantial, re-registering after a short period of time may be an annoyance to a user who has entered appropriate registration information in the past.
Additionally, most, if not all, of these services lack mechanisms for changing the software configuration of a computer system. That is, a service typically cannot provide a computer system with machine-readable instructions that can be processed at the computer system to cause the computer system to become compatible with the service. A service may provide HyperText Markup Language (“HTML”) instructions as part of Web based interface for receiving registration information. However, HTML instructions typically cannot be processed by a computer system to modify the computer system's configuration. Thus, any software incompatibilities must be worked out by a user that may lack the technical expertise or desire to re-configure software for compatibility with the service.
Therefore what would be advantageous are systems, methods, computer program products, and data structures for increasing the level of automation when provisioning and configuring a computer system to access a network.